"""this script define constant value"""


class Constant:
    DATA_PATH = 'data/'
    RAW_DATA_PATH = DATA_PATH + 'passenger_flow.csv'
    WEATHER_DATA_PATH = DATA_PATH + 'weather.csv'
    TRAIN_PATH = DATA_PATH + 'train/'
    TEST_PATH = DATA_PATH + 'test/'
    GRAPH_PATH = 'graph/'

    INPUT_WINDOW = 100  # 生成的训练样本每一个都是序列，INPUT_WINDOW指明了序列的长度
    OUTPUT_WINDOW = 1  # 预测下几个时间步，1代表了单步预测，输入[0:99]时间步，预测时间步为100的序列值

    TARGET = ["one"]
    TARGET_LAG = ['one_lag_1']
    FEATURES_MAP = {
        1: ['temperature_low', 'temperature_high', 'wind',
            'day_of_week', 'day_of_month', 'day_of_year', 'week_of_year', 'month', 'year'],
        2: ['day_of_week', 'day_of_month', 'day_of_year', 'week_of_year', 'month', 'year'],
        3: ['temperature_mean', 'wind', 'weather_mean',
            'day_of_week', 'day_of_month', 'day_of_year', 'week_of_year', 'month', 'year']
    }
    FEATURES_CHOOSE = 3

    MODEL_CHOOSE = 3
    MODELS = {
        1: "transformer_encoder",
        2: "LSTM",
        3: "transformer"
    }

    # TODO
    weather_json = {
        '多云': 0, '晴': 0, '少云': 0, '阴': 0, '晴间多云': 0,
        "小雨": 1, "小雪": 1, '小雨-中雨': 1, '雷阵雨': 1, '阵雨': 1, '雨夹雪': 1, '小到中雪': 1, '小到中雨': 1, '阵雪': 1,
        '中雪': 2, '中雨': 2, '中到大雪': 2, '中到大雨': 2, '雾': 2, '中雨-大雨': 2,
        '大雪': 3, '大雨': 3, '大雨-暴雨': 3, '大到暴雨': 3, '大雪-暴雪': 3,
        '暴雪': 4, '暴雨': 4,
    }
